home *** CD-ROM | disk | FTP | other *** search
/ ShareWare OnLine 2 / ShareWare OnLine Volume 2 (CMS Software)(1993).iso / bbsdoors / wwmail44.zip / WWIVMAIL.DOC < prev    next >
Text File  |  1993-01-31  |  69KB  |  1,363 lines

  1.  
  2.  
  3.      ▒▒▄   ▒▒▄  ▒▒▄   ▒▒▄  ▒▒▄  ▒▒▄ ▒▒█  ▒▒▒▄▄▒▒▒▄  ▒▒▒▒▒▒▄  ▒▒▄  ▒▒▄
  4.      ▒▒█   ▒▒█  ▒▒█   ▒▒█  ▒▒█  ▒▒█ ▒▒█  ▒▒█▒▒█▒▒█  ▒▒█▀▒▒█  ▒▒█  ▒▒█
  5.      ▒▒█   ▒▒█  ▒▒█   ▒▒█  ▒▒█  ▒▒█ ▒▒█  ▒▒█ ▀▀▒▒█  ▒▒▒▒▒▒█  ▒▒█  ▒▒█
  6.      ▒▒█▒▒▄▒▒█  ▒▒█▒▒▄▒▒█  ▒▒█   ▒▒▒▒█▀  ▒▒█   ▒▒█  ▒▒█ ▒▒█  ▒▒█  ▒▒█
  7.       ▀▒▒▒▒█▀▀   ▀▒▒▒▒█▀▀  ▒▒█    ▒▒█▀   ▒▒█   ▒▒█  ▒▒█ ▒▒█  ▒▒█  ▒▒▒▒▒▒▄
  8.         ▀▀▀▀       ▀▀▀▀     ▀▀     ▀▀     ▀▀    ▀▀   ▀▀  ▀▀   ▀▀   ▀▀▀▀▀▀
  9.                     A .QWK Compatible Off-Line Mail Door For
  10.                              The WWIV BBS System.
  11.  
  12.                              WWIVMail/QWK V4.4
  13.                       Copyright (c)1993 By Michael Leib
  14.                 with additional pieces (c) 1993 by Wayne Bell. 
  15.  
  16.       =================================================================
  17.           WARNING: WWIVMail/QWK v4.4 is ONLY for WWIV v4.22+ and
  18.                    NET32+ ONLY( If your BBS is networked).
  19.       =================================================================      
  20.           WARNING: If you are upgrading from a previous version of
  21.           WWIVMail or WWIVMail/QWK, please delete the wwivmail.usr user
  22.           file...the record size is different and the file should be 
  23.           started clean.
  24.       =================================================================
  25.        
  26. Contents
  27. ========
  28. WWIVQWK.EXE   SUB NUMBER SELF-DETECTING WWIVMail/QWK EXECUTABLE.
  29. WWIVMAIL.DOC  DOCUMENTATION/HISTORY FOR/OF WWIVMail/QWK. (THIS FILE)
  30. WWIVMAIL.CFG  SAMPLE SYSOP CONFIGURATION FILE (OPTIONAL).
  31. REGISTER.LST  LISTING OF ALL CURRENTLY REGISTERED SYSOP/BBS BOARDS.
  32.    AND
  33. QWK.LIB       WWIVMail/QWK LIBRARY TO LINK WITH USERREC.CPP
  34. QWKBCC.BAT    .BAT FILE TO COMPILE AND LINK WWIVQWK.EXE(BC++ 2.0 or newer)
  35. QWKTCC.BAT    .BAT FILE TO COMPILE AND LINK WWIVQWK.EXE(TC++ 1.0 or newer)
  36. RESPONSE      RESPONSE FILE USED BY TLINK.EXE FOR LINKING OPTIONS/.OBJS/.LIBS
  37. USERREC.H     HEADER FILE FOR USERREC.CPP 
  38. USERREC.CPP   CPP FILE TO COMPILE WITH YOUR VARDEC.H AND LINK WITH QWK.LIB
  39.  
  40. Introduction
  41. ============
  42.         There have been MANY changes in this version of WWIVMail/QWK, so 
  43. please take the time to read this documentaion. (To see EXACTLY what's 
  44. changed, see the end of this document for the Revision History of
  45. WWIVMail/QWK).
  46.  
  47.         So, for those who haven't looked at this program before, WWIVMail/QWK
  48. (formally known as WWIVMail) is a fully .QWK (Q-Mail Packet (c)) Compatible
  49. Off-Line Mail Door for the WWIV BBS System. It generates .QWK Mail packets
  50. that can be read by a huge number of Public Domain/Freeware/ShareWare Mail 
  51. Readers and can accept response messages (.REP) from those readers and 
  52. incorporate those messages back into your WWIV BBS System.
  53.  
  54.         I am not going to go into a long dissertation about the history
  55. of .QWK Mail packets or about the structure thereof. Those questions
  56. can be answered by reading the documentation in any .QWK compliant Mail 
  57. Reader. Let me just say that, as far as I know, WWIVMail/QWK is the first 
  58. .QWK Mail Door available for the WWIV BBS System. WWIVMail, in it's earlier
  59. form, has been around for almost 2 years with great success. I am proud 
  60. to be the author of this software, and will continue to support it until 
  61. I die or Wayne Bell does. (Well, maybe till I create something better!)
  62.  
  63.         WWIVMail/QWK supports all standard-documented features of the 
  64. original.QWK packet system as incorporated in the QMail(c) Mail System
  65. approx 5+ years ago, as well as, the ADD/DROP Sub capability supported by
  66. several .QWK readers. The standard support in WWIVMail/QWK includes System
  67. Bulletins, Newsfile and an optional New Files Scan (which can be toggled 
  68. on and off by the user). This wasn't an easy task because of Wayne Bell's
  69. WWIV(c) message base design; however, WWIVMail/QWK converts all STANDARD 
  70. WWIV messages and e-mail into standard .QWK format. (message.dat)
  71.  
  72.         Personal E-mail, as well as all Public Posts, can also be uploaded 
  73. through WWIVMail/QWK in the .QWK stanadrd .REP response packet.
  74.  
  75.         WWIVMail/QWK Also supports WWIV BBS Systems with Modified Userrec
  76. vardec.h file structures by allowing you to compile your own version
  77. with a freely distribulted .LIB created for Borland C++ 2.0/3.0/3.1 and
  78. Turbo C++ 1.0 or newer.
  79. (Full source code is available for download to registerred user's; however,
  80. everything you need for a modified userrec structure is included in this
  81. package). 
  82.  
  83. Files in a .QWK Packet That WWIVMail/QWK Creates:
  84. =================================================
  85. HELLO                =>    Openning BBS Welcome Screen       
  86.                            /* welcome.ans/.msg */
  87. GOODBYE              =>    Closing BBS Goodbye Screen
  88.                            /* logoff.ans/.msg */         
  89. BBSNEWS              =>    BBS News File          
  90.                            /* BBS News */   
  91. CONTROL  DAT         =>    BBS Message Subs/BBS Information Data File
  92.                            /* WWIVMail/QWK generated */
  93. DOOR     ID          =>    Information About WWIVMail/QWK
  94.                            /* WWIVMail/QWK generated */
  95. BLT-0    X           =>    BBS Bulletins    
  96.                            /* WWIVMail/QWK generated. User Option */
  97. .
  98. .
  99. .
  100. MESSAGES DAT         =>    All Messages For User To Read
  101.                            /* WWIVMail/QWK generated */  
  102. 000      NDX         =>    Message Base Index Files (000-032/000-064)
  103.                            /* WWIVMail/QWK generated */    
  104. .
  105. .
  106. .
  107. NEWFILES.DAT         =>    NewFiles Since User Last Logged-On
  108.                            /* WWIVMail/QWK generated. User Option */
  109.  
  110. To see how to set the Sysop Options(mentioned above), see the information
  111. below.
  112.  
  113. Features (Among A Cast Of 1000's)
  114. ========
  115. (1)     Built-in Communication routines( no need to monitor dos interrupts ).
  116.         Including Built-In support for hardware flow-control and, hence,
  117.         support for comm port speeds up to 38,400.
  118. (2)     Ansi color graphics support.
  119. (3)     Easy to use interface.
  120. (4)     Use of External Transfer Protocol Engines (Such as DSZ ((c) Omen 
  121.         Technology)) to maintain high quality and compatibility among file
  122.         transfers.
  123.         See below for External Protocol documentation.
  124. (5)     Monitors Carrier Detect ( recycles back to the BBS ).
  125. (6)     2 minutes time-out between keystrokes.
  126. (7)     On-line Help.
  127. (8)     All system security is maintained( user will NOT have access to any 
  128.         message subs that they don't normally have access ) or be able
  129.         to Post on Subs that they are restricted from. Also, all Sysop
  130.         validation for Posts ( Net / User restrictions ) are maintained.
  131.         Also, the New Files scan option only looks at Transfer Section Areas
  132.         that the user has access to. (ie, AGE, DAR, AR, SL and DSL are
  133.         all checked ).
  134. (11)    Optional Newfiles Scan right in the DOOR!
  135. (12)    Full WWIV Multi-Net(WWIV 4.21a+) support capabilities built-in.
  136. (13)    Support for uptp 1024 SUBS/DIRS (Auto-Detecting). 
  137. (14)    Support for Modified Userrec's!
  138. (15)    Supports ANY compression programs that the BBS does(.zip,.arc,etc)...
  139.         Very helpful for non-IBM users.
  140. (16)    Translates WWIV Colors into ANSI codes if the user desires.
  141. (17)    WWIVMail/QWK now supports the ability to import/export messages from
  142.         non-WWIV BBS systems via the .QWK packet. Hence, you can now
  143.         EASILY network your BBS without being restricted to a WWIV hosted
  144.         network/sub!
  145.  
  146. Registration/Compatibility/Licensing
  147. ====================================
  148.  
  149.         WWIVMail/QWK and it's related files are NOT public domain or freeware.
  150. The WWIVMail/QWK Mail Door is a copyrighted software product developed and
  151. owned by Michael Leib.
  152.  
  153.         The WWIVMail/QWK BBS executable is licensed "AS IS". Michael Leib
  154. is NOT responsible for any damage to your system, software or your life.
  155.  
  156.         There has been some concern with people who have been involved with 
  157. this project regarding compatibilty with their HEAVILY modified WWIV systems.
  158. Although WWIVMail/QWK can ( and will ) work with modified userrec's, I have
  159. fully tested this software with un-modified WWIV systems and have had
  160. no difficulty. However, this doesn't mean your WWIV will behave nicely if you
  161. have modified the way data is stored in the user's files( .dat, .sub, etc). 
  162. To get around this problem, I have no choice but to make the source code 
  163. available for you to compile with your vardec.h header file. At first I 
  164. really didn't want to do this but, in order to get everbody on the bandwagon
  165. ( as well as keep the spirit of WWIV alive), this seems the only fair 
  166. alternative..so, I have set-up the following standards:
  167.  
  168.         Registration:
  169.         =============
  170.         Lifetime Use of WWIVMail/QWK Door     -------------------   $25.00
  171.         Lifetime Use of WWIVMail/QWK Door Plus
  172.         Full Source Code                       -------------------  $35.00
  173.         (Compiles Under BC++ v2.0(or newer) and TC++ 1.0(or newer). 
  174.  
  175. I feel these prices are fair with the current cost of the WWIV BBS 
  176. registration/source code at 80.00.(starting FEB 93). I also give you the 
  177. option of getting the source code or not...some of you may NEVER need it so, 
  178. why charge you for it!
  179.  
  180. WWIVMail/QWK is almost a BBS in itself..It has built-in Communications 
  181. routines, support for the upload and download of Public posts and E-mail, 
  182. Full MULTI-NET support, as well as the ability to scan the Transfer Section 
  183. for New Files. Also, starting with WWIVMail/QWK ver 4.3, it also has the 
  184. ability to import messages from non-WWIV BBS systems.
  185.  
  186. Now, why should I register?
  187.  
  188. 1)  WWIVMail/QWK is not crippled in any way. I have released it on trust.
  189.     I have, however, placed a key system in the door that places a 15 second 
  190.     delay banner in all UNREGISTERED door versions and flags all posts in
  191.     the tagline as [EVALUATION COPY]. Please take the time to register if 
  192.     you use this door, the cost is VERY low considering the time I have put
  193.     into creating it. I will respond to your mail the day I receive it 
  194.     (see below for address and contact information).
  195.  
  196.     WWIVMail and WWIVMail/QWK have been out for over 2 years. I have spent
  197.     literally hundreds of hours working on this project and adding support
  198.     (compatibility) for all of Wayne Bell's enhancements. Please support my 
  199.     effort to enhance the capabilities of WWIVMail/QWK. I have shown that
  200.     a new release of WWIVMail/QWK ussually follows a WWIV release within
  201.     days of Wayne's availability (Wayne and I have a nice working relationship
  202.     and I usually get (I have in the past) the next version of WWIV weeks in 
  203.     advance). We are currently discussing placing WWIVMail/QWK in as part of 
  204.     the Accessory Pack for WWIV 4.23 (although, no decision has been made).
  205.  
  206. 2)  If you have modified the BBS's users files, the only way you'll get 
  207.     it to run is to purchase the rights to the source code. At the end of
  208.     this file you will see a listing of the BBS files that WWIVMail/QWK uses.
  209.     You can then compile the door with your modified vardec.h/net.h files
  210.     and then WWIVMail/QWK will run correctly. 
  211.  
  212.     Starting with WWIVMail/QWK  v4.0, I supply all the needed files to get
  213.     WWIVMail/QWK to run with a modifed userrec. However, if you have changed
  214.     ANY other structure that is in the list at the bottom of this file, you 
  215.     will have to get the source. (See below for info on compiling your own 
  216.     version of WWIVMail/QWK).
  217.  
  218. 3)  Sysop's who register always get priority regarding bug fixes and
  219.     enhancements....
  220.    
  221. 4) The time I have spent in writing WWIVMail/QWK is obvious. Please support
  222.    my endeavor and push me to continue to write support programs for 
  223.    WWIV. Among other programs created under my pen (actually, mouse!):
  224.  
  225.    WWIVFile : v1.1 External Transfer Section File Manager.
  226.                    Basically, an XTREE(c) Clone for WWIV Transfer Section
  227.                    management.
  228.    Topten   : v1.0 Lists the top Download Files from your BBS by section.
  229.    Master   : v1.0 BBS Door for users to Download A Master File List.
  230.                    (Obsolete now..but worth mentioning!)
  231.  
  232. Support
  233. =======
  234.  
  235. 1) Feel free to contact me via "The General" On Amber(#445@1)...
  236.    WWIV Home Board in Los Angeles, California.
  237.                          Or
  238.    "Michael Leib" on Rambo-Scan (#11@8856)
  239.  
  240. 2) Join the WWIVMail/QWK Support Sub on the WWIVnet.
  241.    Contact Rambo of Rambo-Scan BBS(#1@8856) to join. (818) 566-7912.
  242.  
  243.    He will ALWAYS be runing the newest Beta of WWIVMail/QWK...
  244.    Beta copies may be picked-up (when available) to registered 
  245.    WWIVMail/QWK Sysops from Rambo-Scan.
  246.  
  247.    I call this board several times a week, if you post messages on
  248.    the WWIVMail/QWK sub, I will respond quickly.
  249.  
  250.    Send registration (or comments) to:
  251.  
  252.    Michael Leib
  253.    1740 N. Ontario St.
  254.    Burbank, Ca
  255.    91505
  256.  
  257.    When you send your payment, please enclose:
  258.  
  259.    1) The name of your BBS, as it is spelled (including capitialization),
  260.       in your init.exe program field.
  261.  
  262.    2) The Sysop's Name for your BBS, as it is spelled (including 
  263.       capitialization), in your init.exe program field.
  264.  
  265.    3) The phone number of your BBS..so I can add your full information to
  266.       the REGISTER.LST file..
  267.  
  268.    4) A net location where I can send e-mail to you with a registration
  269.       keyfile to disable the 15 second delay and the [EVALUATION COPY] tagline
  270.       on all uploaded posts/e-mail. If you registered w/ source option, I will
  271.       also let you know how you can obtain the source code for WWIVMail/QWK.
  272.  
  273.     NOTICE...if you register WWIVMail/QWK with the source code option,
  274.     you will also need vardec.h, net.h, subxtr.h and subxtr.c from the
  275.     WWIV source code distribution package in order to fully build the
  276.     wwivqwk.exe executable(qwk.lib). These source pieces are available 
  277.     from Wayne Bell when you register the WWIV BBS System and are not, 
  278.     nor will ever be, distributed by me with my source code. You can,
  279.     however, use my qwk.lib to build your own wwivqwk.exe with a modified
  280.     userrec with no problem.
  281.     
  282. Comments
  283. ========
  284.  
  285.         I currently support both working storage types of WWIV ver 4.22.
  286. Storage Type 0 stores each message in seperate files with a common header 
  287. file, whereas Storage Type 2( the default and most common ) stores all 
  288. messages in one .msg file. Type 1 is not functioning in WWIV 
  289. (last time I looked into it), so, I also fail to fully support it.
  290.  
  291.  
  292.         The .QWK message structure is a WHOLE lot different then the 
  293. standard WWIV message base system. In order to get Messages to fit properly,
  294. WWIVMail/QWK NEEDS to strip out all the WWIV color code sequences from
  295. posts. Also, the time and date structure is different (written out rather
  296. then military time standard); therefore, I have to convert those as well.
  297. Also, it appears as though SOME .QWK readers can only support 78 characters 
  298. accross the screen and, in ANSI mode, WWIV can do the full 80. Therefore, 
  299. SOME ANSI posts may not come out correctly. There is nothing that 
  300. WWIVMail/QWK can do. This is a design limitation of the .QWK packet 
  301. structure(and SOME of the readers!). So, although you may not have modified 
  302. any BBS structures, some small MODS that display the above functions 
  303. differently then in the stock manner may cause weird characters (or say 
  304. the loss of a date field or the such) to occur. This is normal and there 
  305. is nothing to worry about.
  306.  
  307. E-Mail
  308. ======
  309.         Since E-Mail in WWIV doesn't have a Message Sub, I send all
  310. Personal E-mail into Sub 0 in the .QWK Packet. This, in itself, doesn't
  311. hurt anthing BUT, if your 1st Message Base cannot be read by a User
  312. (They Don't Have Access To See It), then when they try to respond
  313. to their e-mail, they will not be able( get some error in a .QWK
  314. reader that the SUB doesn't exist). Therfore, I suggest that you make
  315. your first Message SUB viewable by all. They don't have to be able to
  316. Post on it, just read it. This has only been reported by One User, and,
  317. there really isn't anything I can do about it. The workaround, for the 
  318. User, is to pick another SUB, then everything will work well. This is
  319. a VERY rare problem, so, don't even worry about it but I did want to share
  320. the information!!!
  321.  
  322. Set-Up
  323. ======
  324.  
  325.         Ok, I assume that if you made it this far in the docs, I haven't 
  326. scared you away with all my talk of registration and compatibility.
  327.  
  328. 1) Executable 
  329.    Copy the file WWIVQWK.EXE to your main bbs dir.
  330.    (Where you keep your bbs.exe and config.dat )
  331.    
  332.    WWIVMail/QWK ver 4.4 has the ability to auto-detect how many SUBS and
  333.    DIRS are configured for your BBS. Because of this, one .exe will work 
  334.    for all WWIV 4.22+ installations.
  335.    
  336.    This is the only file you will need.( See below for information regarding
  337.    the optional wwivmail.cfg file).
  338.  
  339. 2) Make sure you always maintain a couple of free megs of disk space for 
  340.    the .QWK packet creation( The user will be warned if disk space gets low ).
  341.    Since all upload and download packets are placed in the directory that
  342.    you have specified as your "TEMP" directory for WWIV, this is the place
  343.    that should have plenty of space....
  344.  
  345.    I allow the Sysop to override the location where the temporary packet
  346.    resides. If you wish the temporary files that WWIVMail/QWK creates to be
  347.    placed in any other location besides the BBS "TEMP" directory, you may 
  348.    set an environment variable to that location. In your autoexec.bat
  349.    (or in a .bat file that starts the BBS) put:
  350.  
  351.                         set wwivmail=xxxxxxxxxxxxxxxxxxxxxxxxxx.....
  352.  
  353.    where xxxxxxxxxxxxxxxxxxxxxxxxx represents the drive and path where the 
  354.    files will be placed. 
  355.    
  356.    Example: set wwivmail=d:\temp\files\junk\
  357.    (trailing \ is not needed..if you leave it off, I append it.)
  358.  
  359.    I find, however, that the "TEMP" directory works quite fine for 
  360.    most people. 
  361.  
  362. 3) Start the BBS and go into //chainedit:
  363.  
  364.         A. Description  : WWIVMail/QWK v4.4 .QWK Mail Door
  365.         B. Filename     : WWIVQWK.EXE
  366.         C. SL           : 10
  367.         D. AR           : None.
  368.         E. ANSI         : Optional
  369.        *F. DOS Interrupt: NOT Used
  370.         G. 300 Baud     : NOT Allowed
  371.        *H. Shrink       : Yes
  372.         I. Disable pause: No
  373.  
  374.         The only things you have to worry about here are these 2 options;
  375.         F. => DO NOT have the BBS monitor dos calls....this is not needed 
  376.               because WWIVMail/QWK has it's own com port initialization, 
  377.               reads and writes.
  378.         H. => You must have the BBS Shrink..not because my program takes alot 
  379.               of memory, but this is the only way in which WWIV will update
  380.               the qscan pointers...Don't worry, WWIVMail/QWK won't run if you
  381.               don't do this(and it will warn you).
  382.        
  383. 4) Make sure you have a copy of ALL external programs in your path.  
  384.    [Used to compress the packets before transfer and the transfer protocols]
  385.  
  386.     WWIVMail/QWK's Use of External Protocols
  387.     ========================================
  388.     You must have DSZ(c) in your path because WWIV has Xmodem and Ymodem
  389.     built-in.(by default in WWIV 4.22..although you can over-ride them).
  390.     WWIVMail/QWK doesn't...so, I use DSZ(c) to handle those two
  391.     basic protocols. After those two, WWIVMail/QWK will use the transfer 
  392.     protocols as you have them set-up for the BBS(WWIVMail/QWK will use
  393.     the command-lines as they are in the INIT.EXE)(stored in nextern.dat).
  394.  
  395.     This allows you to be assured that WWIVMail/QWK will run (while 
  396.     transferring packets) EXACTLY like the BBS. Any special command-lines
  397.     that you had to implement for your high-speed modem or strange 
  398.     configuration will be maintained in WWIVMail/QWK!. (Nifty Huh?)
  399.  
  400.     Due to the above, You will need (For Sure) a copy of Omen Technology's 
  401.     DSZ(c)in your path.(it need not be registered) (Available on almost any 
  402.     BBS)
  403.     [Used to transfer the packet for the default xmodem and ymodem choices] 
  404.  
  405.     For your information, the %1 (com port speed) and %4 (modem speed)
  406.     are taken directly from chain.txt (see userrec.cpp for code) so the
  407.     external protocols will run the same as they do from within the
  408.     BBS.
  409.  
  410.     WWIVMail/QWK's Use of External Compression Engines
  411.     ===================================================
  412.     You will also need to have each compression program(.zip, .arc, etc)
  413.     that you have listed in your init.exe (config.dat) as supported on your 
  414.     BBS in your path so the user can pack/extract the .QWK/.REP packets.      
  415.  
  416.     The user has the option of selecting a default choice of transfer
  417.     protocol and compression type. The list they choose from is DIRECTLY
  418.     made off of your configuration in the INIT.EXE(config.dat). The more
  419.     you put into the BBS, the more functionality that goes into WWIVMail/QWK.
  420.     The extent of these functions is only limited by you.
  421.  
  422.     NOTE: These programs NEED to be a directory who is in your 
  423.         "path=" statment in your autoexec.bat. If not( although these
  424.         programs may be in your main wwiv bbs directory) it doesn't
  425.         matter. I change directories to your TEMP area for processing, 
  426.         so please have them in into your path. If not, WWIVMail/QWK will 
  427.         spawn for the external protocol and will fail attempting to complete 
  428.         the transfer or compress/uncompress the packet.
  429.     
  430.     If you experience any problems with compression or extraction, please
  431.     investigate your command-line strings...all external programs that get 
  432.     executed from WWIVMail/QWK have the command-lines written to the screen 
  433.     and the sysop's log. Good chance any problems can easily be resolved
  434.     by changing the strings. These strings are taken directly as you have
  435.     them listed in the INIT.EXE fields.
  436.  
  437.     NOTE: I have been asked by SEVERAL sysop's to note here that MANY of you
  438.          have "pkunzip -eo ..." in your INIT.EXE fields for extraction of 
  439.          files from within the BBS. -eo IS NOT a valid argument for 
  440.          PKUNZIP.EXE(c)(try it yourself from the DOS prompt...it's invalid!)
  441.          Where this came from I have no idea, but you need to modify that 
  442.          or WWIVMail/QWK will NEVER be able to extract messages from your.REP
  443.          packet(REMOTE or LOCAL).
  444.          This is an easy fix..replace "-eo" with "-e -o" and eveything 
  445.          should work correctly.
  446.  
  447.     NOTE: Also, I have been asked to let you all know that WWIVMail/QWK is
  448.          not compatible with Wayne Bell's UNZIP.EXE shell for WWIV and
  449.          pkunzip.exe. This code (unzip) has been incorporated into WWIV 4.22 
  450.          so unzip.exe is no longer needed for protection against hacking
  451.          of your BBS.
  452.      
  453.          I suggest you use:
  454.  
  455.          pkunzip -e -o %1 %2 >NUL
  456.  
  457.          in your init.exe extraction field.I know this works.....
  458.  
  459. 5) What files does WWIVMail/QWK Create?
  460.  
  461.   As your users log into the Door and start selecting defaults
  462.   (tansfer protocol and compression options), a file named
  463.   wwivmail.usr will be created and placed in your wwiv main directory.
  464.   The size of this file will grow as more users begin to use the door.
  465.  
  466.   Other then this file, everthing else that WWIVMail/QWK creates is
  467.   loacated in your TEMP directory location, so they get deleted after
  468.   every door session.
  469.  
  470.   Starting in WWIVMail/QWK ver 4.3, information about the user's actions
  471.   in the chain are added to the current sysop's log. Therfore, you will be
  472.   able to see exactly what the user did while in the door and outside the
  473.   control of the BBS.
  474.  
  475.   The name of the .QWK packet for your BBS is created using the BBS NAME 
  476.   field from your INIT.EXE(config.dat). The packet name is based off of the 
  477.   first eight characters, with any blanks being replaced by underscores. 
  478.   The only problem I have encountered with this simple idea is one BBS that 
  479.   had ">" 's in the name....this CANNOT be used to create a valid file 
  480.   because it represents a standard dos redirection of output. So, a board 
  481.   name of say:
  482.  
  483.            Rambo Scan BBS   would become=>  RAMBO_SC.QWK
  484.  
  485.   That's it!!!!!! (simple in comparision to other bbs chains, huh?)
  486.  
  487. 5) OPTIONAL
  488.    ========
  489.    WWIVMail/QWK has MANY Sysop Definable options. To set them, you need
  490.    to create a file named wwivmail.cfg and place it in the main BBS
  491.    directory (along with wwivqwk.exe).
  492.     
  493.    Previously, prior to WWIVMail/QWK 4.3, I included a program named 
  494.    wwivcfg.exe which created wwivmail.cfg. After consideration, I have opted
  495.    just to state the fields in the file (and the format) and save at least
  496.    50k in the distribution file archive...
  497.  
  498.    Let's look at the wwivmail.cfg that is distributed in the WWIVMail/QWK
  499.    distribution packet:
  500.  
  501. Burbank, Ca
  502. 100
  503. 200
  504. 300
  505. 400
  506. 500
  507. 600
  508. 700
  509. c:\wwiv\gfiles\welcome.ans
  510.  
  511.  
  512.  
  513.  
  514.  
  515.  
  516.  
  517.  
  518.  
  519. c:\wwiv\gfiles\newsinfo.ans
  520. NO
  521. 3
  522.  
  523. Obviously, you will want to modify these fields! But, here is what they are..
  524. LINE1:  The CITY/STATE where your BBS is located.
  525. LINE2:  Maximum TOTAL messages that can be downloaded at 300   Baud.
  526. LINE3:  Maximum TOTAL messages that can be downloaded at 1200  Baud.
  527. LINE4:  Maximum TOTAL messages that can be downloaded at 2400  Baud.
  528. LINE5:  Maximum TOTAL messages that can be downloaded at 9600  Baud.
  529. LINE6:  Maximum TOTAL messages that can be downloaded at 14400 Baud.
  530. LINE7:  Maximum TOTAL messages that can be downloaded at 19200 Baud.
  531. LINE8:  Maximum TOTAL messages that can be downloaded at 38400 Baud.
  532. LINE9:  Full Path to BULLETIN #1 (LEAVE ANY OF THESE BLANK TO IGNORE)
  533. LINE10: Full Path to BULLETIN #2
  534. LINE11: Full Path to BULLETIN #3
  535. LINE12: Full Path to BULLETIN #4
  536. LINE13: Full Path to BULLETIN #5
  537. LINE14: Full Path to BULLETIN #6
  538. LINE15: Full Path to BULLETIN #7
  539. LINE16: Full Path to BULLETIN #8
  540. LINE17: Full Path to BULLETIN #9
  541. LINE18: Full Path to BULLETIN #10
  542. LINE19: Full Path to NEWSFILE
  543. LINE20: NO   File EXISTENCE checked? (LEAVE BLANK TO IGNORE) 
  544.         If you put a NO here, the existence of files on your
  545.         system will not be checked; thefore, the user will never get
  546.         a N/A filesize. This is handy if you have a CD-ROM drive
  547.         because seeking file existence is slow and can take a LONG
  548.         time. If you have a CD-ROM, I have been told(I don't have one)
  549.         that this MUST be set to NO. If you don't have one, just leave it
  550.         blank.
  551. LINE21: Number of GOLD pieces given to a user for each uploaded message
  552.         through WWIVMail/QWK. Leave blank if you don't use GOLD on your 
  553.         system or don't wish to reward the user. (You could also put 0
  554.         here if you wish).
  555.  
  556. Remember, this configuration file is totally optional, and is needed only
  557. if you wish to set these options. Starting with WWIVMail/QWK v4.3, the
  558. user has the option to download or ignore the BULLETINS and NEWS files,
  559. but I think it wouldn't hurt to set them up. You probably want to have 
  560. these fields point to some of your G-Files...If you place a bad path
  561. or a path to a file that doesn't exist, the entry will just be ignored.
  562.  
  563. Also, these entries DO NOT need to be padded out...just type them in
  564. however you like...The only important thing is that the correct entry is 
  565. on the right line.
  566.  
  567. Command-Line Options
  568. ====================
  569. WWIVMail/QWK supports several command-line options...
  570.  
  571. 1) "wwivqwk local":
  572.  
  573.    WWIVMail/QWK can be run local but you need to use a special command-line
  574.    argument. This is due to the need for carrier detect under normal
  575.    conditions...if you don't use the correct parameters, it will drop you
  576.    back to dos. Type 'wwivqwk local' and the door will go into local mode.
  577.  
  578.    For Downloads: Go through the menus as you would if you were on-line!
  579.                   A valid packet wil be created. Then, take a look in your 
  580.                   directory that is specified in your bbs configuration as 
  581.                   your TEMP dir. The download packet will be in that 
  582.                   directory.
  583.    
  584.    For Uploads:   Create a valid upload response packet and place that packet
  585.                   in the TEMP dir (or location that you specified for packets
  586.                   to be placed). Go through the door as normal, and the 
  587.                   packet will be detected and imported....                
  588.  
  589. 2) "wwivqwk nowrite":
  590.  
  591.    WWIVMail/QWK reads and writes to MANY WWIV BBS data files (see below
  592.    for listing). If you aren't sure whether or not you have modified the
  593.    ways your modifed BBS writes to those files, you can try WWIVMail/QWK
  594.    with the "nowrite" option. This will cause the program to ONLY read
  595.    all files (except those which it creates). Doing this will save your
  596.    data, and you can see how the door behaves on your system. This is
  597.    basically an evaluation mode.
  598.  
  599.    Uploading Messages with this option enabled will not work because
  600.    it won't do anything ( no way to save your posts ).
  601.  
  602. 3) You can also use these parameters together, such as:
  603.    "wwivqwk local nowrite" or "wwivqwk nowrite local"
  604.  
  605. 4) "wwivqwk export=xx":
  606.     A key new feature in WWIVMail/QWK ver 4.4. First let me say, this option
  607.     also enables the "local" parameter. xx represents a user number
  608.     (1 -> whatever) and will extract all un-read messages for that user.
  609.     So, "wwivqwk export=99" will extract all un-read posts for user 99,
  610.     make a .QWK packet, update user 99's Qscan pointers and exit WWIVMail/QWK.
  611.     You could, along with the next command-line argument(below), EASILY 
  612.     network your WWIV system with NON-WWIV BBS systems!
  613.    
  614.     The trick here is to reserve a user as your "NETWORK" user and use that
  615.     account as the key into your BBS.
  616.  
  617.     Most of you (98%) will NEVER use this....so, you don't have to worry
  618.     about it...Along with the option below, this could tame the wildest
  619.     of the network hounds out there...But, Until WWIV supports anything other
  620.     then it's own network strategy, this is a neat way to hook your BBS upto
  621.     FidoNet(etc).
  622.  
  623. 5) "wwivqwk import=xxxxxxx.qwk":
  624.     A key new feature in WWIVMail/QWK ver 4.3. First let me say, this option
  625.     also enables the "local" parameter and loads the user information from
  626.     user #1. This assumes the Sysop is user #1 and has full access to all 
  627.     pieces in/of the BBS. If user #1 isn't the Sysop, you MUST set that
  628.     account up for the correct access to the messages subs you want to import
  629.     into. This is to say, all security is still maintained, and if user #1
  630.     can't post on a sub, neither will WWIVMail/QWK in import mode. 
  631.            
  632.     So, what the heck does this option do?    
  633.  
  634.     One of the neat features of the .QWK packet is that the file structures 
  635.     of messages.dat (in a .QWK packet) and the .msg file in a .REP packet 
  636.     are exactly the same. Due to this feature, WWIVMail/QWK has implemented
  637.     an automated method of importing messages from a downloaded .QWK packet
  638.     and the ability to bring those messages directly into your BBS. This 
  639.     feature allows you to network your BBS to non-WWIV boards easily through 
  640.     the use of a .QWK mail door on any BBS and through WWIVMail/QWK on your 
  641.     end.
  642.  
  643.     How does this work?
  644.  
  645.     1) Download a .QWK packet from a BBS and place that packet in your
  646.        TEMP directory (or where "set wwivmail=" is set to). You can either
  647.        do this manually or set-up a script to run remotely via a 
  648.        communications program to call and get your messages.
  649.  
  650.     2) Invoke "wwivqwk import=xxxxxx.qwk" from the main BBS directory
  651.        (where xxxxxx is the name of the packet you want to import).
  652.        If you use the wrong name, the file isn't a .QWK packet or no
  653.        messages.dat can be found, WWIVMail/QWK will exit normally and
  654.        inform you that a messages.dat couldn't be found.
  655.  
  656.     3) WWIVMail/QWK will extract messages.dat from the packet and
  657.        process the file for import. User #1's default extraction
  658.        protocol will be used for the operation. Each message will be 
  659.        posted in the default sub number it came from off the BBS is was 
  660.        downloaded from, unless you over-ride that conference number
  661.        (see below for explanation on how to do this). Therefore, 
  662.        if the message was on sub number 12 on RAMBO-SCAN BBS and you 
  663.        import it, it will be posted on your sub number 12. If you don't 
  664.        have a sub 12, or user #1 doesn't have access to sub 12, the 
  665.        message will be skipped. This can also be a problem when you try 
  666.        to import messages from a 200+ conference Non-WWIV BBS and try to
  667.        get them to all import into your 32 or 64 sub WWIV BBS! (see below 
  668.        for explanation on how to get around this).    
  669.  
  670.    4) After all the messages are uploaded, you will be given the total number
  671.       of messages imported. Unlike normal operation, user #1 will NOT have
  672.       his/her account updated..so all imported messages will be new when
  673.       the board is next scanned. Also, the WWIVMail/QWK tagline will NOT be 
  674.       added to the end of each message and the real name of the person who 
  675.       wrote the post will be used, not the name of user #1. Also, internally
  676.       to WWIV, user #1 will not be tagged as the uploader of the post. This
  677.       way, user's who 'A'uto-Reply to these imported messages won't have them
  678.       all (e-mail reply's) come back to the sysop's account (which would 
  679.       probably make you just a little mad!).
  680.  
  681.       After completion, messages.dat is deleted.
  682.  
  683.    How do I handle over-riding the sub number?    
  684.         
  685.       For each .QWK packet from different system's, you'll probably want
  686.       a different conference mapping system. To facilitate this, you need
  687.       to create seperate "map" files for each system you plan on importing
  688.       messages from. Once again, you ONLY need to do this if you don't like
  689.       the way the conferences map, or you want to bring messages in from
  690.       conference numbers greater then the available subs on your WWIV bbs.
  691.  
  692.       Let's continue to use the RAMBO-SC.QWK example from above.
  693.  
  694.       Say you call Rambo-Scan BBS and you want to bring his sub's 5 - 10
  695.       into your message base 4, his subs 11 and 12 into your message
  696.       base 7 and his base 200 into your message base 15...that is:
  697.  
  698.       5 4
  699.       6 4
  700.       7 4
  701.       8 4
  702.       9 4
  703.       10 4
  704.       11 7     
  705.       12 7 
  706.       200 15
  707.  
  708.       And that's how your "map" file would look. So, to finalize this..
  709.  
  710.       In order to do the above mapping of his subs into your BBS, make a file
  711.       named RAMBO-SC.MAP and create it so it has 2 columns of numbers. The
  712.       first is his sub number(s) that you wish to over-ride their mapping
  713.       order and the second is where you want those conferences to "map"
  714.       into(his sub 5 will map into your sub 4, etc). These lines of numbers
  715.       (wich a space between them) is how the map file would look for each
  716.       conference you wish to "map".
  717.  
  718.       Then, you can place the RAMBO-SC.MAP file in your main WWIV BBS 
  719.       directory(along with wwivqwk.exe) and it will be used when you
  720.       import messages.
  721.  
  722.       You need to make a xxxxxx.MAP file for each xxxxxx.QWK packet you
  723.       plan on importing from(and want to control what messages go where).
  724.  
  725.  
  726.       I personally like the idea of making a sub with the title "Messages
  727.       from Rambo-Scan" and importing all messages from RAMBO-SC.QWK into
  728.       one message sub....but, that's me!
  729.       (example: all of his 10 subs into your sub 30)
  730.       1 30  
  731.       2 30
  732.       3 30
  733.       4 30
  734.       5 30
  735.       6 30
  736.       7 30
  737.       8 30
  738.       9 30
  739.       10 30
  740.  
  741.  
  742.       One last note here....This process can be VERY time consuming..so,
  743.       don't be alarmed if it takes awhile to run. However, as each message
  744.       is processed, little "."'s will print on the screen to let you know
  745.       the system didn't take a dive!
  746.   
  747. WWIVMail/QWK and Networked Subs
  748. ===============================
  749.     WWIVMail/QWK has full built-in support for Networked Subs. That is to
  750. say, WWIVmail/QWK is a full extension of your BBS. If a user posts on a
  751. Net Sub, that post WILL go out on the network (or on several if the network
  752. SUB is Gated..WWIVMail/QWK creates the proper pgate.net file as well!). This 
  753. is acomplished in one of two ways:
  754.  
  755. 1) If the sub is marked as Sysop Validate = YES, WWIVMail/QWK will place
  756.    the message in the local Sub and mark it as pending for net status.
  757.    When you, or anyone with access to validate, validates the message,
  758.    WWIV will process the post and add it to the p1.net file in your DATA
  759.    directory(or whichever directory is set-up under a multi-net environment).
  760.    When the user logs off, WWIV will run the NETWORK program(s) on that file,
  761.    and the messages will be sent out on the net.
  762.  
  763. 2) If the sub is marked as Sysop Validate = NO, WWIVMail/QWK will place
  764.    the message in the local sub AND will CREATE/ADD TO the p1.net file.
  765.    As in the case above, WWIV will process the p1.net file when the user
  766.    logs off the board, and the message(s) will be sent out on the net.
  767.  
  768. I create the p1.net file EXACTLY as Wayne Bell does, so the integrity of
  769. all net actions will be maintained.
  770.  
  771. This is also how e-mail networking is set-up. WWIVMail/QWK creates the
  772. p0.net file, and when the user hangs up, WWIV does a clean_upnet() on
  773. all the p*.net files. At this point, all e-mail destined for the NET
  774. will be sent.
  775.  
  776. Here is an example on how NET E-Mail looks on the receiver's end.
  777. I sent this personal e-mail (my config.sys), from my account on Rambo-Scan 
  778. to my account on Amber (#445@1 was how it was addressed).
  779. This is what I got...
  780.  
  781.  
  782. (1/1): Net E-mail test          
  783. Name: Michael Leib #11 @8856
  784. Date: Thu Dec 25 08:36:15 1992
  785. From: WWIVnet - Rambo-Scan BBS (Southern California) [818-566-7912]
  786.  
  787. Response To: #445@1                   
  788.  
  789. Does this get through..
  790.  
  791. shell=c:\drdos\command.com /P
  792. DEVICE=C:\QEMM\QEMM386.SYS RAM
  793. device=c:\qemm\loadhi.sys /r:1 c:\utils\aspi2dos.sys
  794. files=3
  795. hibuffers=20
  796. fcbs=1,0
  797. stacks=0,0
  798. hidos=on
  799.  
  800.  
  801. Michael
  802.  
  803. ---
  804.  ■ SLMR 2.1a ■ All hope abandon, ye who enter messages here.
  805.                                                                                
  806.                                         
  807. WWIVMail/QWK 4.4 [REGISTERED]: RAMBO-SCAN BBS - @8856 on WWIVnet
  808.  
  809. .....And this is what I expected.
  810.  
  811. Also, after I read the mail, I was notified that it was read on Rambo-Scan
  812. just as it was any other piece of E-Mail.
  813.  
  814.  
  815. Starting with WWIVMail/QWK ver 4.2, I support the optional Multi-Net 
  816. NETWORKS.DAT file used by WWIV ver 4.21a. WWIVMail/QWK will send Net posts
  817. and E-mail out on whichever NET is active for the Sub in question. 
  818.  
  819. The format users MUST use to send E-Mail via WWIVMail/QWK is:
  820.                               #xxxx@yyyyy
  821. where xxxx is the user's number and yyyyy is the Net address.... 
  822. The E-Mail Net address is the address on whichever NET the subboard is on..
  823.  
  824. (I may, in the future, add support for sending e-mail to people's NAMES
  825.  as well as mail forwarding....).
  826. ===============================================================================
  827. Thanks go out to:
  828.  
  829. Rambo........ (Of Rambo-Scan BBS ) who allows me the time and resources 
  830.                of his BBS and continues to be the main testing ground for 
  831.                WWIVMail/QWK. Without him, I'd probably kill this project.
  832.  
  833. Foundation....(Of Dark D.) who helped me design the network support.
  834.               Crashed him out a few times too...Was also his idea
  835.               for the IMPORT mode...thanks for the great ideas!
  836.  
  837. JAFO..........(Of Blue Thunder BBS) who modified the source to get it
  838.               to work with Turbo C++ as well as BC++. Common source
  839.               for all current production Borland C compilers. Thanks...
  840.               Also helped me out bigtime with NET support in WWIVMail/QWK
  841.               ver 4.4. (DUDE, thanks for the help, BIGTIME....!!!
  842.               Couldn't have gotton 4.4 together without you)
  843.  
  844. Wayne Bell....Gave me permission to use subxtr.c/.h in my code and has
  845.               been very helpful along the way with questions. Give credit
  846.               where credit is due...
  847.  
  848. Rick Gale.....Thanks guy for helping me get WWIVMail/QWK ver 4.4 running
  849.               on WWIV 4.22...See ya in again in Burbank next Xmas!
  850.  
  851. And all the people who have commented, helped in the coding, and design of
  852. WWIVMail/QWK. Also, thanks to those authors who compiled all the information
  853. I found in various places describing the structure/contents of the .QWK 
  854. packet.
  855. ===============================================================================
  856.  
  857. Listing Of Vardec.h/Net.h Ties
  858. ==============================
  859.  
  860.         In order for WWIVMail/QWK to run correctly on your system, you must
  861. have NOT modified any of the Files listed below. If you have a modified
  862. bbs but have not made any changes to the vardec.h include file, then you
  863. should be fine( And forget you ever read this! ). Otherwise, do a comparision
  864. to the stock file (vardec.h/net.h as Wayne Bell created it) to make sure
  865. these Files aren't stored in a different way. If they are, then you will
  866. need to register your copy of WWIVMail/QWK and obtain the source code to
  867. compile with your modified header files.
  868.  
  869. FILES
  870. =====
  871. BBSDATA.NET
  872. CHAIN.TXT                                   
  873. CONFIG.DAT                                  
  874. DIRS.DAT                                    
  875. directory.filename.DIR ( all .DIR files )                    
  876. EMAIL.DAT                                   
  877. MODEM.DAT                                    
  878. N*.NET
  879. NEXTERN.DAT
  880. NN*.NET
  881. P0.NET
  882. P1.NET
  883. SMW.DAT
  884. STATUS.DAT
  885. SUBS.DAT
  886. subboards.filename.DAT ( all .DAT files )
  887. subboards.filename.SUB ( all .SUB files )
  888. xtrasubsrec (subs.xtr)        
  889. ===============================================================================
  890. What Do I Do if I have a modifed USERREC?
  891.  
  892. Although I have felt in the past that registerred user's did have userrec
  893. support, since they legally got the source code; but, some people couldn't
  894. evaluate the product before paying for it. In order to fix this, and give me
  895. equal advantage with any competetors (current or future), WWIVMail/QWK can
  896. now be compiled and linked via an object-oriented approach to match any
  897. userrec changes that you may have made. Any changes to the BBS structure,
  898. other then the userrec, however, will still require you to register and get
  899. the source. I hope by adding this feature that I will have satisfied many of 
  900. your needs and will have greatly enhanced the use, compatibility and quality 
  901. of the product.
  902.  
  903. REMINDER: You ONLY need to do this procedure if you have modifed your 
  904. user.lst. If not, use the .exe included in this .zip file....
  905. It was made EXACTLY the same way as you are going to make yours(except with
  906. a stock vardec.h)...I used this .lib as well!
  907.  
  908. Needed Files:
  909. =============
  910. QWK.LIB     WWIVMail/QWK LIBRARY TO LINK WITH USERREC.OBJ
  911. QWKBCC.BAT  .BAT FILE TO COMPILE AND LINK YOUR VERSION OF WWIVQWK.EXE(BC++)
  912. QWKTCC.BAT  .BAT FILE TO COMPILE AND LINK YOUR VERSION OF WWIVQWK.EXE(TC++)
  913. RESPONSE    RESPONSE FILE USED BY TLINK.EXE FOR LINKING OPTIONS/.OBJS/.LIBS
  914. USERREC.H   HEADER FILE FOR USERREC.CPP 
  915. USERREC.CPP CPP FILE TO COMPILE WITH YOUR USERREC AND LINK WITH .LIB
  916.    
  917. 1) Get your programming environment set-up.
  918.    A) Copy the qwk.lib into your .lib directory.
  919.    B) Make sure your tools are in your path (bcc v2.0(or higher) or
  920.       tcc v1.0(or higher) and tlink).
  921.  
  922.       My Tools: bcc.exe    ver 3.1
  923.                 tlink.exe  ver 5.1
  924.                 tlib.exe   ver 3.02
  925.       This is what was used in the making of WWIVMail/QWK v4.4.(stock)
  926.  
  927.    C) You will HAVE to modify the .bat file and the response file 
  928.       to set-up the paths for the include and library directories
  929.       on your system...
  930.  
  931.       ie; -Ie:\BC31\INCLUDE must be changed to match your system.
  932.  
  933. In qwkbcc.bat OR qwktcc.bat--------|      
  934.                                    |       
  935. bcc -O2 -c -G -ml -N -Ie:\BC31\INCLUDE userrec.cpp
  936.  
  937. In response---|
  938.               |
  939. /x/c/LE:\BC31\LIB c0l.obj+
  940. userrec.obj
  941. wwivqwk
  942. wwivqwk
  943. emu+
  944. cl+
  945. mathl+
  946. qwk
  947.  
  948. 2) Make sure your userrec.cpp and userrec.h files (this file contains the ONLY
  949.    places in WWIVMail/QWK where your userrec is accessed) are accessable.
  950.    Userrec.cpp uses vardec.h as well as userrec.h; therefore, make sure
  951.    your current modifed vardec.h header file is either in the current
  952.    directory or in the directory you have indicated as your INCLUDE
  953.    directory. Also, do NOT change any definitions in the userrec.h header
  954.    file...because all the code in the .lib was built using those
  955.    definitions.
  956.  
  957. 3) Type qwkbcc.bat(or qwktcc.bat). It will attempt to compile (no link) 
  958.    your usserec.cpp into userrec.obj using the large memory model. 
  959.    You should get NO errors or warnings. If you do, try again till it 
  960.    compiles clean.  
  961.  
  962. 4) After it completes a clean compile, it will execute the second line in the
  963.    .bat file and attempt to build a wwivqwk.exe. If all your .lib files can be
  964.    found, your done. If not, you will get some unresolved external errors 
  965.    during the link. Fix them (path isn't right...can't find the file...etc)
  966.    and THEN you are done. Copy the linked wwivqwk.exe to your WWIV main
  967.    directory and.....Enjoy.
  968.  
  969.    (NOTE:...since (starting in WWIVMail/QWK ver 4.4) I have added the use
  970.             of a RESPONSE file for the definitions needed by TLINK. You can
  971.             modify that file (without running over the 128 character
  972.             command-line limit) to have TLINK look at certain locations
  973.             for your .OBJs and .LIBs...ie, you could do:
  974.  
  975. /x/c c:\compilers\tc10\lib\c0l.obj+
  976. d:\wwivmail\userrec.obj
  977. wwivqwk
  978. wwivqwk
  979. c:\compilers\tc10\lib\emu+
  980. c:\compilers\tc10\lib\cl+
  981. c:\compilers\tc10\lib\mathl+
  982. d:\wwivmail\qwk
  983.  
  984.             And that should solve any problems....
  985.  
  986.  
  987. Revision History
  988. ================
  989. 4.4...(02/01/93) 
  990.            Compatibility release for WWIV ver 4.22+. WWIVMail/QWK ver 4.4
  991.            will NOT run on any WWIV BBS software versions prior to v4.22+.
  992.            WWIVMail/QWK ver 4.3 will work fine with these versions, however. 
  993.            Too many changes internally to the BBS to continue to support two
  994.            versions. So, as Wayne Bell has changed, so has WWIVMail/QWK.
  995.  
  996.            => WWIVMail/QWK now uses the NEW userrec structure
  997.               and USER.QSC file introduced in WWIV 4.22.
  998.  
  999.            => WWIVMail/QWK now supports upto 1024 SUBS and DIRS.  
  1000.  
  1001.            => WWIVMail/QWK now supports SUBS.XTR.
  1002.  
  1003.            => WWIVMail/QWK now supports Gating for networked SUBS.
  1004.               (WWIVMail creates the pgate.net file in the proper
  1005.                network directory). 
  1006.            
  1007.            1) Totally re-wrote a ton of code...some stuff looked like it
  1008.               could be done much better(two years after I wrote it!)
  1009.               (At least I'm honest... :>)       
  1010.            2) The spacebar Abort during Message Scanning is MUCH more
  1011.               responsive now...you don't have to wait till the sub in 
  1012.               question is done..it jumps out right away.
  1013.            3) WWIVMail/QWK now uses (yes, like it used to way back in the
  1014.               old days!) the qscn pointers the user has set-up inside the
  1015.               BBS. This is because:
  1016.               1) It's easier for me to keep the pointers correct when the 
  1017.                  Sysop ADDs or DELETEs subs...Wayne updates the entire
  1018.                  user.lst when you do that...since I don't have that luxury,
  1019.                  I have to figure out what happenned when the user enters
  1020.                  the DOOR. This is time consuming, and would only get
  1021.                  worse with 1024 subs.
  1022.               2) I have had TONS of "enhancement" requests for the way the 
  1023.                  qscn tags "should" work...I think just letting the user
  1024.                  pick them once (inside the BBS) is easier and less hastle
  1025.                  for them....and, they will always be correct no matter
  1026.                  what happens.
  1027.  
  1028.               NOTE: The ADD/DROP feature of many .QWK Readers is STILL
  1029.               supported by WWIVMail/QWK and will change the QSCAN pointers
  1030.               for WWIVMail/QWK as well as those inside the BBS.
  1031.  
  1032.            4) Added a two-second delay after every message uploaded so
  1033.               the user can see if the mail/e-mail was correctly sent.
  1034.               (Sysop Requested Enhancement)
  1035.            5) Since the GOLD field is now standard in the WWIV 4.22 userrec,
  1036.               WWIVMail/QWK allows the Sysop to specify the number of gold 
  1037.               pieces given to the user for each message uploaded through
  1038.               WWIVMail/QWK.
  1039.               (Sysop Requested Enhancement)
  1040.            6) Sysop's can now turn-off WWIVMail's attempt to see if a file
  1041.               exists during the NEWFILES.DAT scan...I would only do this
  1042.               if you have a CD-ROM (which is why this was put in). 
  1043.               (Sysop Requested Enhancement)
  1044.            7) Like the last release (4.3), I have now added a command-line 
  1045.               argument to help facilitate WWIV networking with non-WWIV BBS 
  1046.               systems via the .QWK packet. See documentation (above) 
  1047.               for "export=xxx" definition and detailed explanation of this 
  1048.               function.
  1049.               (Sysop Requested Enhancement)
  1050.            8) Appended WWIVMAIL.REV to the end of WWIVMAIL.DOC.
  1051.            9) Added support for TLINK's @response file format. A couple of
  1052.               Sysop's had very LONG paths and had some problems linking
  1053.               WWIVQWK.EXE.
  1054.               (Sysop Requested Enhancement)
  1055.           10) It was brought to my attention that some .QWK Readers DON'T
  1056.               follow the standard QWK convention to signal if a post
  1057.               was private E-Mail or not...they should be marked as "*" but, 
  1058.               some Readers mark the posts as "+"!!!! So, now WWIVMail/QWK 
  1059.               accepts posts tagged as "*" OR "+" as private E-Mail...
  1060.               (For example, Blue Wave v2.10 does this!)
  1061.               (Sysop Requested Enhancement)
  1062.           11) When you scan for new messages, the Full NETWORK NAME is 
  1063.               displayed on the screen for each sub(if it is Networked) or
  1064.               if it is LOCAL.
  1065.  
  1066. 4.31..(11/10/92)
  1067.            Made some changes to speed up the NEWFILES scan on CD-ROM/LARGE
  1068.            BBS Systems. Now takes about 1/4th the time is used to!
  1069.  
  1070.            Only released .LIB and .EXE files.
  1071.  
  1072. 4.3...(11/01/92)
  1073.            ==================================================================
  1074.            NOTICE...this is more than likely the LAST release of WWIVMail/QWK
  1075.            that will be compatible with WWIV versions before 4.22( when it
  1076.            comes out next year). From what I understand, the userrec and
  1077.            qscan pointer information will be stored in a radically different
  1078.            manner so, trying to maintain backwards compatibility will almost
  1079.            be impossible. If you are using WWIV BBS versions before 4.22,
  1080.            WWIVMail/QWK ver 4.3 is the correct version for you. When you
  1081.            upgrade to WWIV 4.22 (or higher), you will have to get my
  1082.            latest(4.4 or whatever newer version is out at the time).
  1083.            ==================================================================
  1084.         1) Bug Fixes(once again..ultra minor):
  1085.                 A) If you use the WWIVMail= set statement, WWIVMail/QWK
  1086.                    wasn't checking if that was a valid TEMP directory.
  1087.                    Now it substitutes for syscfg.tempdir(in WWIVMail)
  1088.                    and is checked.
  1089.                    Fixed.
  1090.                 B) Fixed a potential crash when user uploaded messages
  1091.                    to a sub that had no physical .sub and/or .msg file
  1092.                    on disk. Fixed.
  1093.                 C) New File Scan had some problems( wasn't finding ALL new
  1094.                    files). Fixed. Scans properly now and still maintains
  1095.                    correct security (DSL, DAR and AGE) checking (as before).
  1096.         2) Moved WWIVMail/QWK to BC++ v3.1. Compiled all code with .cpp
  1097.            strict type checking and cleaned up some portability issues.
  1098.            Added -O2 optimization to compiles. Re-wrote SOME code in
  1099.            C++.
  1100.         3) WWIVMail/QWK now supports upto 30 external protocol choices.
  1101.            6 just wasn't enough. This limitation was left over from the
  1102.            old WWIVMail days(Pre-QWK). Resolved.
  1103.         4) Added e(X)pert user mode. When turned on, no menus appear.
  1104.            Just like the BBS.
  1105.         5) Added support for Sysop's Log. Most operations will be
  1106.            reported to the current Sysop's Log..thus giving a detailed
  1107.            report of what the user did while in the Mail Door.
  1108.         6) Added unique function for .QWK message importing. Allows
  1109.            WWIV networking with non-WWIV BBS systems via the .QWK packet.
  1110.            See documentation (wwivmail.doc) for "import=xxxxxxxx.qwk" 
  1111.            definition and detailed explanation of this function.
  1112.         7) Added user option to download/not download BULLETINS/NEWS files.
  1113.         8) Added user option to update/don't update Q-SCAN pointers after
  1114.            packet transfer - requested function by several users.
  1115.         9) I am no longer going to release WWIVCFG.EXE..I give instructions 
  1116.            on how to make the file easily by hand. Was a little overkill for
  1117.            a simple task.
  1118.         10) When a user downloads a packet, it now tells him/her the
  1119.            EXACT filename that is going to be sent and the size(k) that
  1120.            is to be expected at the end of the transfer.
  1121.         11) Re-did much of the WWIVMail.doc file. 
  1122.          
  1123. 4.2...(08/12/92)
  1124.         1) Bug Fixes:(ultra minor - 4.1 was a solid release)
  1125.                 A) If an External Protocol Exists (Is Listed), but the Sysop
  1126.                    Didn't List BOTH an Upload and Download Command-Line in
  1127.                    Init.exe, then WWIVMail/QWK Will NOT try to Spawn the
  1128.                    Protocol.
  1129.                 B) Brightened up Dark Blue Ansi..Wasn't very readable on
  1130.                    CGA screens.
  1131.                 C) The Door still tried to unpack the .REP packet even if the
  1132.                    upload event failed.(Transfer) Now it doesn't.
  1133.                 D) WWIVMail/QWK now gets the %1 command-line parameter
  1134.                    for external protocols(com speed) from CHAIN.TXT rather
  1135.                    then from MODEM.DAT.
  1136.         2) Added (T) and (U) Keys to Q-Scan Configuration Screen.
  1137.            User Can Now Tag or Un-Tag All Available Subs With One 
  1138.            Keystroke.
  1139.         3) Cleaned up event-handling so it falls through one place.
  1140.            Added local keyboard input while users are on-line. Now Sysop
  1141.            can enter input for confused users.
  1142.         4) Made one .exe that supports both 32 and 64 Subs. Also, I now
  1143.            only need to distribute one .lib for modified userrecs. Did
  1144.            this by taking advantage of syscfg.userreclen and building the
  1145.            .exe with #ifdef EXTENDED turned on.        
  1146.  
  1147.            (Thanks to Wayne Bell for suggesting this to me!)
  1148.  
  1149.         5) Users can now ADD or DROP subs for scanning by sending mail
  1150.            to the door (WWIVMAIL) with the subject of ADD or DROP.
  1151.            SLMR's(c) ADD/DROP feature is also supported.
  1152.         6) With a user toggle on, WWIVMail/QWK will now map WWIV color codes
  1153.            into default ANSI colors. This maps each of the stock seven WWIV
  1154.            colors into their default ANSI representations.
  1155.         7) Added changes to support Multi-Net Sub Listings(.age field) in 
  1156.            WWIV4.21a.
  1157.            WWIVMail/QWK ver 4.2 will still work with previous version of WWIV,
  1158.            however.
  1159.         8) Added FULL NET support for WWIV4.21a+ so WWIVMail/QWK can, and 
  1160.            will, use NETWORKS.DAT to send public and private NET messages
  1161.            out on the proper Network for the Sub. If NETWORKS.DAT is not
  1162.            available, WWIVMail/QWK will work just as in previous versions,
  1163.            defaulting to the \DATA directory for network files.
  1164.         9) If the Download of a packet fails, the user will be prompted
  1165.            if they want to try again, or Quit back to Main Menu. If they
  1166.            try again, WWIVMail/QWK will NOT need to re-scan the subs and
  1167.            re-pack the packet(uses the same packet again).
  1168.         10) Changed Tag-Line to support REGISTERED/EVALUATION status and
  1169.             listing of what network the sub is on.
  1170.         11) BATCH MODE via REMOTES.DAT is 3/4 implemented. Will be available
  1171.             and documented in the next release of WWIVMail/QWK.
  1172.  
  1173. 4.1...(06/22/92)
  1174.         1) Bug Fixes: (more then ever - because more people are using
  1175.                        the DOOR then ever before!)
  1176.                 A) Fixed Local Q-Scan Sub Tag/Un-Tag Problems by totally
  1177.                    re-writing the way WWIVMail/QWK handles Q-scan pointers.
  1178.                 B) Some boards had all uploaded posts being tagged as 
  1179.                    <<UNKNOWN>> - Fixed.
  1180.                 C) Changed color scheme...some people didn't like it.
  1181.                    I think this is a little more pleasant.
  1182.                 D) .daten fields for net posts were not being set correctly.
  1183.                    Fixed.
  1184.                 E) Added Qmail(c) Compatibility banner to first message
  1185.                    in messages.dat. Never was a problem, except for an
  1186.                    Amiga .QWK reader author (who has no product yet).
  1187.                 F) Re-worked some of the E-mail upload code.
  1188.                    This has now been EXTENSIVLY tested. E-mail uploads
  1189.                    will no longer be a problem. Both local and NET.
  1190.                 G) Changed User Interface so it is more intuitive.
  1191.                 H) Fixed mail waiting field...wasn't updated correctly after
  1192.                    d/l ing your mail.
  1193.                 I) Some E-mail downloads had text cut-off at about
  1194.                    20 lines...Fixed.
  1195.                 J) Fixed XMODEM uploads on high speed modems..my commad-line
  1196.                    was off (left off the SPEED parameter).
  1197.         2) Each user in the door now has a user record - makes it easier
  1198.            to facilitate batch mode (when I get it in).
  1199.         3) WWIVMail/QWK now uses a default transfer protocol. Easier 
  1200.            door usage.
  1201.         4) Added Upload and Logoff Menu Option.(By Request) 
  1202.         5) First-Time users now get a Welcome banner with a few hints
  1203.            on using the program.
  1204.         6) Q-Scan pointers and sub numbers are now stored/manipulated in
  1205.            absolute terms, not relative. Makes working with them easier.
  1206.            This also allowed me to fix the shifting of user's qscan tag
  1207.            picks when the sysop changes subs(add or deletes them). They
  1208.            now get adjusted(if need be) every-time the user goes into 
  1209.            the door.
  1210.         7) WWIVMail/QWK now supports all compression types (.zip, .arc, etc)
  1211.            that you have set-up in your config.dat(init.exe) for the BBS.
  1212.            The user can pick a default and it will be used every-time he/
  1213.            she uses the door.        
  1214.  
  1215. 4.0BetaIII.(05/01/92)
  1216.         1) WWIVMail/QWK now supports modified Userercs. See WWIVMail.doc
  1217.            for information on the steps needed to build your own
  1218.            WWIVMail/QWK .exe.
  1219.         2) When WWIVMail went .QWK, the packet structure changed and so
  1220.            much of the ANONY support was lost( it used to be in WWIVRead). 
  1221.            I have re-implemented the ANONY support for public posts.
  1222.         3) Fixed a scanning bug in the CenterLine support...people actually
  1223.            have macros that expand to over over 80 characters long.
  1224.         4) Fixed a couple of cosmetic featues(external/internal).
  1225.                 A) Some subs were not being marked as Local/Net correctly.
  1226.                 B) Cleaned Up Some Interior Code and shrunk the stack.
  1227.         5) Implemented a User option to allow user to leave e-mail on the
  1228.            BBS, even after being downloaded (not deleted). 
  1229.            (This used to be a scanning option, but was removed when the
  1230.             LOGOFF option was added. Solved by making this option... by
  1231.             user request I put-back in).
  1232.  
  1233. 4.0BetaII..(04/09/92)
  1234.         1) Created a 32 and 64 SUB version. Distributed source
  1235.            includes #ifdef defines to create 64 SUB version.
  1236.         2) Compiled with WWIV v4.21's Vardec.h/Net.h
  1237.         3) Changed NET support to implement NET changes in WWIV4.21
  1238.            (WWIVMail/QWK WILL still work with WWIV 4.20).
  1239.         4) Cleaned-up a few error checking routines (file handles).
  1240.         5) Changed Option 2) To Allow D/L and Logoff From The BBS
  1241.  
  1242. 4.0Beta ...(03/22/92)
  1243.         1) By Popular Demmand:
  1244.                  A) WWIVMail now conforms to the .QWK Q-Mail(c) packet
  1245.                     format. User's can now use any of a number of .QWK
  1246.                     mail readers to process messages.
  1247.                     WWIVMail is now known as WWIVMail/QWK.
  1248.                  B) WWIVRead is No Longer Needed.
  1249.                  C) WWIVMail/QWK now supports the download and RESPONSE to
  1250.                     private e-mail.        
  1251.         2) Removed All Mention of WWIVRead in the WWIVMail executable
  1252.            and support files.
  1253.         3) Created WWIVCFG.EXE: allows Sysop to configure Bulletin and
  1254.            Mail paths for WWIVmail/QWK. Also incorporated previous 
  1255.            WWIVMAIL.CFG baud rate information into confoguration program.
  1256.         4) Added Support For User.Lst Record file to have the total number
  1257.            of posts reflect those uploaded through WWIVMail/QWK.
  1258.            ( For accurate PCR ratio computation )
  1259.         5) WWIVMail/QWK now echos prompt responses locally as well as
  1260.            remotely. 
  1261.         6) Added "nowrite" command-line option to ensure no BBS data files
  1262.            can be corrupted during Sysop evaluation.
  1263.         7) Re-worked carrier detection. Now cleaner, quicker and more
  1264.            accurate.
  1265.         8) Re-worked Net support. If sub ISN'T marked as "Sysop Validate",
  1266.            WWIVMail/QWK will create the p1.net file...WWIV will run
  1267.            NETWORK on the p1.net file when the user logs off. If sub is
  1268.            marked "Sysop Validate", the message will be sent out on the net
  1269.            when the Sysop/Co validates it.
  1270.            Users can now also send e-mail over the net using the
  1271.            #xxxx@yyyyy to: line.
  1272.  
  1273. 3.0 ...(02/01/92)
  1274.         1) Bug Fixes:
  1275.                  A) Fixed bug with aborted transfers still having the user's
  1276.                     Qscan pointers being updated.
  1277.                  B) Fixed a bug with scanning of subs...was only looking if
  1278.                     the user's SL and Age were > then the minimum 
  1279.                     requirements..Changed to the proper >= check.
  1280.                  C) Fixed SMALL bug with extra characters being displayed
  1281.                     in baud rate data in user screen.
  1282.                  D) Fixed bug for some exit paths where interrupt
  1283.                     communications vector wasn't being removed.
  1284.                     May have caused some BBS lock-ups in the 2.0 and 2.1 
  1285.                     versions.
  1286.                  E) 1) Re-wrote many routines for speed.
  1287.                     2) Re-wrote many routines for size.
  1288.                     3) Changed a load of global parameters to passed pointers/
  1289.                        variables for cleanliness and readability.
  1290.                  F) Cleaned-up User Interface design and expanded On-Line
  1291.                     Help. Also removed status check box when WWIVMail
  1292.                     is started.
  1293.                  G) Modifed WWIVRead for cleanliness and compatibility.
  1294.                         Hopefully, this will be last release of WWIVRead...
  1295.                         WWIVMail(3.X) is going to conform to the .QWK packet format.
  1296.         2) Changed Tag-Line Import From WWIVRead to WWIVMail.
  1297.            Now lists the system name and (if exists) your system number in
  1298.            the Tag-Line.
  1299.         3) Added support for modem hardware flow control.
  1300.         4) Added abilty for User to abort the packet scanning. 
  1301.         5) WWIVMail now uses the Command-lines for external protocols
  1302.            as the Sysop has them listed in the BBS INIT.EXE program.
  1303.            Up to six External protocols can be used in the Mail Door.
  1304.            (See WWIVMail.doc for documentation).
  1305.         6) WWIVMail now allows users to have seperate Q-Scan sub tag
  1306.            information outside of the one's for the BBS. If the user
  1307.            doesn't create seperate one's (stored in wwivmail.usr), then
  1308.            WWIVMail will continue to scan the subs as it did before.
  1309.         7) Removed the disk size check routines from WWIVMail. If WWIVMail
  1310.            cannot perform and task( write to disk or compress the packet)
  1311.            the user will be notified and he/she will not be allowed to 
  1312.            continue in the door.
  1313.                
  1314. 2.1 ...(6/25/91)
  1315.         1) Bug Fixes:
  1316.                 A) Fixed the ability to have registration file be read-only.
  1317.                 B) Fixed bug in changing directories to paths with explicit
  1318.                    drive specifications.
  1319.                 C) Pointer error which caused system crash when some systems
  1320.                    uploaded messages back into the BBS. (Memory Allocation
  1321.                    Error).
  1322.                 D) Fixed bug with checking time-out period if user fails
  1323.                    to respond ( at some prompts ).
  1324.         2) Added environment flag to override packet creation in BBS Temp
  1325.            directory.
  1326.         3) Added WWIVMail.cfg file for Sysop control over number of messages
  1327.            downloaded at various baud rates. 
  1328.         4) Personal E-Mail is also extracted and packed for download.
  1329.            E-Mail Pointers Updated / Original user Notified of mail received.
  1330.         5) Changed User Interface to show last-read/max number of messages
  1331.            while extracting messages from bases.
  1332.         6) Changed User interface to show Local / Networked Subs.
  1333.         7) Reader now allows *.wwX where X can be any number. Therefore,
  1334.            your users can have multiple packets and respond to them all by
  1335.            uploading only one .rsp packet.
  1336.         8) Uploaded Messages now respect Unvalidated flags for Net/User
  1337.            restrictions.( Sysop Validation ).
  1338.         9) Placed a message stating the exact expected upload packet filename
  1339.            before shelling for upload transfer. Seems some users were confused
  1340.            about the naming conventions.
  1341.  
  1342. 2.0 ...(5/20/91)
  1343.         1) Added the ability for users to upload posts to the BBS through
  1344.            WWIVMail.
  1345.         2) Upload and download temporary packets are now stored in the 
  1346.            directory that the sysop has specified through INIT as being the
  1347.            TEMP dir for the bbs. ( Usually \wwiv\temp, but I read this from 
  1348.            config.dat so you can place it wherever you like).
  1349.         3) Fixed a bug with spawning for dsz/pkzip on some xt systems.
  1350.         4) Purchased a Communications library to handle the comm writes/reads
  1351.            and initialization. 
  1352.  
  1353. 1.1....(3/18/91)
  1354.         Changed the packet format( Users WILL need v.6 or higher of WWIVRead
  1355.         to read packets created by 1.1 of WWIVMail). This was done for 
  1356.         1) User Security( parts of the userrec were downloaded in 1.0)
  1357.         2) To remove Vardec.h links in the WWIVRead module.
  1358.            Packet will now be smaller.
  1359.  
  1360. 1.0....(2/1/91)
  1361.        Initial Public release (2/1/91)
  1362.        
  1363.